Fusion of Concurrent Invocations of Exclusive Methods

نویسندگان

  • Yoshihiro Oyama
  • Kenjiro Taura
  • Akinori Yonezawa
چکیده

This paper describes a mechanism for “fusing” concurrent invocations of exclusive methods. The target of our work is object-oriented languages with concurrent extensions. In the languages, concurrent invocations of exclusive methods are serialized; only one invocation executes immediately and the others wait for their turn. The mechanism fuses multiple waiting invocations to a cheaper operation such as a single invocation. The programmers describe fusion rules, which specify method invocations that can be fused and an operation that substitutes for the invocations. The mechanism works effectively in the execution in synchronization bottlenecks, which are objects on which exclusive methods wait a long time for their turn. We have implemented a language that has the mechanism and tested the usefulness of the mechanism through experiments on a symmetric multiprocessor, the Sun Enterprise 10000. We have confirmed that the mechanism made programs with synchronization bottlenecks fast.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Exception Handling Mechanism for the Concurrent Invocation Statement

Several concurrent programming languages and systems — e.g., MPI, .NET, and SR — provide mechanisms to facilitate communication between one process and a group of others. One such mechanism is SR’s concurrent invocation statement (co statement). It specifies a group of operation invocations and normally terminates when all of its invocations have completed. To make the co statement more flexibl...

متن کامل

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms

This paper describes a concurrent extension of the C++ programming language[1]. The extended C++ language, which we call CYES-C++, supports highly concurrent objects, implements a general concurrent method invocation mechanism, fully integrates the notion of inheritance with concurrency, and supports reusability of both method and synchronization specifications. The computational model [4] for ...

متن کامل

Run - Time Analysis for Atomicity 1

Writing and debugging concurrent (shared-variable) programs is notoriously difficult. This motivated the development of numerous static analysis and run-time analysis techniques designed to (help) ensure that concurrent programs satisfy common correctness requirements for concurrent programs, such as absence of race conditions and absence of deadlocks. This paper focuses on another common corre...

متن کامل

Verification of a Concurrent Deque Implementation

We prove the correctness of the concurrent deque component of a recent implementation of the work-stealing algorithm. Specifically, we prove that this concurrent deque implementation is synchronizable. Synchronizability is a weaker condition than the more traditional notion of serializability. Our concurrent deque implementation is not serializable, but its synchronizability makes it sufficient...

متن کامل

Open Effects: Programmer-guided Effects for Open World Concurrent Programs

The open world assumption makes the design of a type-and-effect system challenging, especially in concurrent object-oriented languages. The main problem is in the computation of the effects of a dynamically dispatched method invocation, because all possible dynamic types of its receiver are not known statically. Previous work proposes effect annotations that provide a static upper bound on the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001